package com.appspot.gaeforum309.pathing;

import java.util.List;

import com.appspot.gaeforum309.pathing.PathBuilder.IPathable;

public abstract class PathableClass
{
	private final String tagName;
	private final String parentTagName;
	
	public String getTagName() {
		return tagName;
	}

	public String getParentTagName() {
		return parentTagName;
	}

	public PathableClass(String tagName, String parentTagName)
	{
		this.tagName = tagName;
		this.parentTagName = parentTagName;
	}
	
	public abstract IPathable getObject(String keyStr);
	
	/**
	 * Return all objects of current pathable type.
	 * @return
	 */
	public List<? extends IPathable> allObjects()
	{
		return null;
	}
	
	public void fillAction(Action.ActionType actionType, Action action)
	{
		
	}
}
